package org.zwy.gradetrack.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import org.zwy.gradetrack.entity.EmployerEvaluation;
import org.zwy.gradetrack.vo.EmployerEvaluationVO;

import java.util.List;
import java.util.Map;

/**
 * 用人单位评价Service接口
 */
public interface EmployerEvaluationService extends IService<EmployerEvaluation> {

    /**
     * 分页查询用人单位评价列表，包含用人单位名称和毕业生名称
     *
     * @param current 当前页
     * @param size 每页大小
     * @param employerId 用人单位ID（可选）
     * @param graduateId 毕业生ID（可选）
     * @param indicatorId 指标点ID（可选）
     * @return 分页结果，包含用人单位名称和毕业生名称
     */
    Page<EmployerEvaluationVO> pageEvaluationsWithDetails(Integer current, Integer size, Long employerId, Long graduateId, Long indicatorId);

    EmployerEvaluation createEvaluation(EmployerEvaluation evaluation);

    EmployerEvaluation updateEvaluation(Long id, EmployerEvaluation evaluation);

    Map<String, Object> getStatistics(Long employerId, Long graduateId, Long indicatorId);

    void batchImport(List<EmployerEvaluation> evaluations);

    List<EmployerEvaluation> getEmployerStudentEvaluations(Long employerId, Long graduateId);

    List<EmployerEvaluation> getStudentIndicatorEvaluations(Long graduateId, Long indicatorId);
} 